import java.util.Arrays;

public class Demo4_13 {
    //给出一个有序的整数数组 A 和有序的整数数组 B ，
    //请将数组 B 合并到数组 A 中，变成一个有序的升序数组
    public static void merge(int A[], int m, int B[], int n) {
        int i = m - 1;
        int j = n - 1;
        int z = m + n - 1;
        while (i >= 0 && j >= 0) {
            if (A[i] > B[j]) {
                A[z] = A[i];
                z--;
                i--;
            } else {
                A[z] = B[j];
                z--;
                j--;
            }
            while (i >= 0) {
                A[z] = A[i];
                z--;
                i--;
            }
            while (j >= 0) {
                A[z] = B[j];
                z--;
                j--;
            }
        }
    }

    public static void main(String[] args) {
        int[] A = {4, 5, 6,0,0,0};
        int[] B = {1, 2, 3};
        merge(A, 3, B, 3);
        System.out.println(Arrays.toString(A));
    }
}
